package com.indusfo.spc.mapper;

import com.indusfo.spc.pojo.Badpheno;
import com.indusfo.spc.pojo.MatFlow;
import com.indusfo.spc.pojo.Order;
import com.indusfo.spc.pojo.Station;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author 熊冰 物料流程
 * @Date 2019/11/25 9:36
 */
public interface MatFlowMapper {
    /**
     * @Author 熊冰 新增
     * @Date 2019/11/25 9:36
     */
    int insertMatFlow(MatFlow matFlow);

    /**
     * @Author 熊冰 修改
     * @Date 2019/11/25 9:36
     */
    int updateMatFlow(MatFlow matFlow);

    /**
     * @Author 熊冰 查询
     * @Date 2019/11/25 9:36
     */
    List<MatFlow> queryMatFlow(MatFlow matFlow);

    /**
     * @Author 熊冰 总数
     * @Date 2019/11/25 9:36
     */
    int countMatFlow(MatFlow matFlow);

    /**
     * @Author 熊冰 判重
     * @Date 2019/11/25 9:37
     */
    int checkMatFlow(MatFlow matFlow);

    /**
     * @Author 熊冰 删除
     * @Date 2019/11/25 9:37
     */
    int deleteMatFlow(@Param("matFlowIds") List<Integer> matFlowIds, @Param("dataState") Integer dataState);

    /**
     * 去添加查询条数
     */
    Integer countMatFlowToInsert(MatFlow matFlow);

    /**
     * 去添加查询
     */
    List<MatFlow> queryMatFlowToInsert(MatFlow matFlow);

    /**
     * 级联删除查询工序流程
     */
    List<MatFlow> queryMatFlowByMatVerId(@Param("matVerId") Integer matVerId);

    /**
     * 级联删除工序流程
     */
    int deleteMatFlowByMatFlowId(@Param("matFlowId") Integer matFlowId, @Param("dataState") Integer dataState);

    /**
     * 产品下的版本id来查询对应的产品流程
     * @param orderList
     * @return
     */
    List<MatFlow> queryMatFlowList(@Param("orderList") List<Order> orderList);

    /**
     * @Author 熊冰 通过流程id 查询流程
     * @Date \ 15:27
     */
    MatFlow queryMatFlowByMatFlowId(Integer matFlowId);
}